1. Field of the Invention
The present invention relates to a communication method and a communication apparatus for use in executing data communication among devices connected by an IEEE (Institute of Electrical and Electronics Engineers) 1394 bus line, for example.
2. Description of the Related Art
Heretofore, there have been developed AV (audio-visual) devices capable of transmitting information to each other through a network using an IEEE 1394 serial data bus. When data is transmitted through this IEEE 1394 serial data bus, there are available an isochronous transfer mode used to transmit data of a relatively large capacity such as video data and audio data in real time and an asynchronous transfer mode used to transmit images, data and commands such as still pictures, text data and control commands highly-reliably, and exclusive bands for the isochronous transfer mode and the asynchronous transfer mode are available and used in transmission.
FIG. 1 of the accompanying drawings is a block diagram showing an example of a network system in which a source device, an input device and a controller are connected through this IEEE 1394 bus. As shown in FIG. 1, a source device a serving as a device for transmitting data, an input device b serving as a device for receiving data transmitted from the source device a and a controller c for controlling data transmission between the two devices a and b are connected to an IEEE 1394 bus d. When video data is transmitted between the two devices a and b under control of the controller c, between the two devices a and b under control of the controller c, transmission of data from the source device a to the input device b is started after the controller c had secured an isochronous transfer channel on the bus d and the two devices a and b had been connected with each other such that data can be transmitted through the isochronous transfer channel. The source device a or the input device b may be served as a controller as well.
When data is transmitted between the source device a and the target device b as described above, there can be applied a control command transmission system called an AV/C command (AV/C Command Transaction Set) which is applied to AV devices, or the like, for example. Details of the AV/C command are described in the AV/C Digital Interface Command Set General Specification which has been laid open in the 1394 Trade Association.
FIG. 2 shows an example of a manner in which data is transmitted among devices connected by an IEEE 1394 bus by using the AV/C command according to the related art. In this example according to the related art, four devices of a device serving as a controller, a first video deck, a second video deck and an audio deck are connected to the IEEE 1394 bus (different from the example shown in FIG. 1), and video data and audio data are dubbed between the two video decks under control of the controller. In this example, the video deck is a digital video recording and reproducing apparatus capable of recording and reproducing video data (and audio data accompanying the video data) on and from a magnetic tape in the form of digital data encoded by an MPEG (Moving Picture Experts Group) system. An audio deck is an audio recording and reproducing apparatus capable of recording and reproducing audio data on and from a magneto-optical disk called a mini disc (MD) after it had compression-coded audio data in a predetermined compression-coding system (i.e., ATRAC (Adaptive Transform Acoustic Coding) system).
First, the controller issues a command prescribed by the AV/C command to respective devices connected to the bus to determine if video data can be dubbed on the respective devices. Specifically, the controller transmits a subunit info command, which inquires a processing function section of a device, to the audio deck (step S71) and obtains data indicating that the video deck is a disc recorder/player by a response from the video deck (step 72).
Next, the controller transmits the same subunit info command to the first video deck (step S73) and obtains data indicating that the first video deck is a tape recorder/player from a response from the first video deck (step S74). When the controller obtains the response of the tape recorder/player, there is a possibility that this tape recorder/player will be a device on which video data can be dubbed. Hence, the controller transmits a tape playback format command inquiring a playback format to the first video deck (step S75) and obtains data indicating that the playback format is an MPEG video format from a response from the first video deck (S76).
The controller transmits the subunit info command to the second video deck (step S77) and obtains data indicating that the second video deck is a tape recorder/player from a response of the second video deck. When the controller obtains the response of this tape recorder/player, there is a possibility that this tape recorder/player will be a device on which video data can be dubbed. Hence, the controller transmits a tape playback format command inquiring a tape playback format to the second video deck (step 79) and obtains data indicating that the tape playback format is an MPEG video format from a response of the second video deck (step S80).
Next, the controller sends a tape recording format command inquiring a tape recording format to the second video deck (step S81) and obtains data indicating that the tape recording format is an MPEG video format from a response of the second video deck (step S82). Consequently, the controller can determine that the second video deck is a recording device.
After these commands had been exchanged so far, the controller can execute the dubbing processing in which the controller can determine that the first video deck is the reproducing device and that the second video deck is the recording device and video data reproduced from the magnetic tape of the first video deck is transmitted to the second video deck and recorded on the magnetic tape by the second video deck.
Since it is determined by the controller based on the processing executed so far that the MPEG video data can be dubbed between the first and second video decks, a point-to-point connection for connecting the two devices is established under control of the controller such that data can be transmitted between the two devices by the isochronous transfer channel on the IEEE 1394 bus.
After the point-to-point connection has been established and the transmission line on the bus has been secured, the controller transmits a record command for starting the recording to the second video deck (step S83) and receives from the second video deck a response indicating that the above command processing was accepted (step S84). The controller transmits a playback command for starting the playback to the first video deck (step S85) and receives from the first video deck a response indicating that the above command processing was accepted (step S86). After the above processing has been executed so far, MPEG video data (stream data) played back from the first video deck can be transmitted to the second video deck by the isochronous transfer channel secured on the bus and thereby recorded on the magnetic tape by the second video deck.
With the above processing executed so far as shown in FIG. 2, the connection can be established on the network comprising the bus by the transmission of control commands such as the AV/C command and the stream data such as the video data and the audio data can be transmitted among the devices.
FIG. 2 shows the state in which all the devices concerning the data transmission could be operated satisfactorily. However, if the response to the command instructed in any of the status is not in accordance with the instruction, then the transmission processing of stream data will be interrupted at that time. Furthermore, the communication apparatus according to the related art does not include means for confirming whether the data transmission is executed correctly or not. Accordingly, when the transmission of the stream data is started as shown in FIG. 2, it is important to determine by confirming beforehand the statuses of the source device and the input device whether or not the source device is able to transmit stream data and whether or not the input device is able to receive transmitted stream data.
However, in the transmission processing on this kind of network according to the related art, it is impossible to check in detail whether or not the communicated device is able to handle the transmitted stream data.